{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Redes Neuronales Recurrentes" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las redes neuronales recurrentes (En inglés Recurrent Neural Networks - RNN) son una familia de redes neuronales para procesar datos secuenciales, las cuales se basan en el principio de compartir parámetros a lo largo de diferentes partes del modelo, lo que permite aplicar el modelo a datos con estructuras diferentes (por ejemplo diferentes longitudes) y generalizar sobre ellos. Si por el contrario se tuviera un párametro para cada índice de tiempo, no se podría generalizar a longitudes de secuencias no vistas durante el entrenamiento, o compartir patrones detectados por el modelo a lo largo de diferentes longitudes de secuencias y posiciones en el tiempo; dicha propiedad es particularmente importante cuando una pieza de información específica puede ocurrir en múltiples posiciones dentro de una secuencia [1]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La red permanece Feed-forward pero mantiene el estado interno a través de nodos de contexto los cuales influencian la capa oculta en entradas subsecuentes. Existen diferentes arquitecturas de RNN, las más conocidas son (Figura tomada de Link.):" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/RNN2.png \"Neuronas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las RNN pueden resolver diferentes paradigmas de aprendizaje, es decir, tienen la capacidad de ajustarse a diferentes configuraciones en los datos. El diagrama construido por Andrej Karpathy representa muy bien dicha capacidad:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/RNN-Topol.jpeg \"Neuronas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El primer caso corresponde a una MLP convencional en la cual se tiene una salida por cada entrada y no existe información compartida a través de las capas ocultas. El segundo caso corresponde a un problema en el que a una entrada, el modelo debe producir una salida compuesta de varios elementos, como por ejemplo un sistema al cual se le presente una imágen y proporcione como salida una descripción o listado de los objetos en la imágen (problema conocido como caption generation). La tercera opción corresponde a un problema en el que al sistema se le presenta una secuencia y el modelo debe proporcionar una única salida para toda la secuencia, por ejemplo en el problema de Sentiment Analysis, usualmente el objetivo es que el sistema catalogue un texto como positivo o negativo. El cuarto caso corresponde a problemas en los que la entrada es una secuencia y la salida otra, sin que necesariamente ambas secuencias deban tener la misma longitud (esta configuración también se conoce como sequence-to-sequence). Un ejemplo de este tipo de paradigmas se presenta en la traducción automática de textos en la que la oración en el lenguaje original puede tener un número mayor o menor de palabras que en el lenguaje objetivo. El quinto caso corresponde a un problema en el que para cada entrada el sistema debe proporcionar una salida (la longitud de las secuencias entrada y salida es la misma), a este tipo de paradigmas corresponde la predicción de series de tiempo, el etiquetado morfosintáctico, varias tareas en Bioinformática, entre otros." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La arquitectura Elman de las RNN es la más comunmente usada. De acuerdo con la notación definida en la primera figura, la descripción matemática de una red de este tipo con una sola capa oculta y una capa de salida estaría dada por:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$${\\bf{a}}^{(t)} = {\\bf{b}} + {\\bf{V}}{\\bf{h}}^{(t-1)} + {\\bf{U}}{\\bf{x}}^{(t)},\\\\ \n", "{\\bf{h}}^{(t)} = \\tanh({\\bf{a}}^{(t)}), \\\\ \n", "{\\bf{o}}^{(t)} = {\\bf{c}} + {\\bf{W}}{\\bf{h}}^{(t)}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "donde $\\bf{V}$ corresponde a la matriz de pesos que conectan la salida de una neurona en el tiempo anterior para usarla como entrada en el tiempo actual. $\\bf{U}$ es la matriz de pesos para las entradas de la red y $\\bf{W}$ es la matriz de pesos que conecta el estado de la neurona interna con la neurona de la capa de salida. $\\bf{b}$ y $\\bf{c}$ son vectores con los términos independientes de la capa oculta y la capa de salida respectivamente. La salida ${\\bf{y}}^{(t)}$ de la red estará determinada por la función de activación aplicada sobre los valores ${\\bf{o}}^{(t)}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Backpropagation through time (BPTT)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para incorporar las habilidades descritas, una RNN incluye la capacidad de mantener memoria interna y usar la información almacenada a través de lazos de realimentación y de esa manera darle soporte al modelamiento temporal, es decir, a la condición de dependencia estadística de observaciones consecutivas. Como se puede observar en la siguiente figura, la salida de las neuronas en la capa oculta, es usada nuevamente como entrada a la misma capa. Figura tomada de Link.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/RNN3.png \"Neuronas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El entrenamiento de una RNN puede realizarse usando el algoritmo Backpropagation descrito en clases anteriores, teniendo en cuenta el modelo desdoblado mostrado en la primera figura. Es decir, es necesario propagar la red hacia adelante, almacenar todas las salidas parciales de las diferentes neuronas en cada una de las capas y tiempos $t$, y a partir de la función de costo definida, propagar el error hacia atrás. La pérdida total para una secuencia de valores $\\bf{x}$ y su correspondiente secuencia de salida $\\bf{y}$ (tenga en cuenta que la red puede tener múltiples salidas, entonces cada salida corresponde a un vector), corresponderá entonces a la suma de las pérdidas para cada uno de los tiempos en la secuencia. La función de costo de la red será entonces:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$L(\\{ {\\bf{x}}^{(1)},{\\bf{x}}^{(2)},\\cdots,{\\bf{x}}^{(\\tau)} \\}, \\{ {\\bf{y}}^{(1)},{\\bf{y}}^{(2)},\\cdots,{\\bf{y}}^{(\\tau)} \\}) \\\\\n", "L = \\sum_t L^{(t)}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dependiendo del tipo de problema a resolver, la función de pérdida puede ser el error cuadrático medio, o en problemas de clasificación el negativo de la verosimilitud $L^{(t)} = -\\log Pmodel (\\hat{y}^{(t)} |\\{{\\bf{x}}^{(1)},\\cdots,{\\bf{x}}^{(t)} \\})$, donde $Pmodel(\\cdot)$ corresponde a la probabilidad asignada por el modelo a la salida de la red que para el tiempo $(t)$ debería estar en uno. Se asume en este caso que la función de actividación de la capa salida corresponde a una función softmax, la cual garantiza que la salida de la red pueda ser interpretada como una probablidad. Uno de los problemas del algoritmo BPTT es que las operaciones de forward y backward del algoritmo no son paralelizables por su interdepedencia, lo que hace al algoritmo completamente secuencial." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En primer lugar debemos estimar el gradiente de la función de costo con respecto a las salidas de la red en un tiempo cualquiera $(t)$:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$(\\nabla_{{\\bf{o}}^{(t)}}L)_i = \\frac{\\partial L}{\\partial o_i^{(t)}} = \\frac{\\partial L}{\\partial L^{(t)}} \\frac{\\partial L^{(t)}}{\\partial o_i^{(t)}} = \\hat{y}_i^{(t)} - 1 \\\\ \\nabla_{{\\bf{o}}^{(t)}}L = {\\bf{y}}^{(t)} \\odot ({\\bf{\\hat{y}}}^{(t)} - {\\bf{1}} )$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En la expresión anterior $\\odot$ representa el producto Hadamard, es decir el producto punto a punto entre los vectores. Note que el único objetivo es mostrar que el gradiente es un vector que sólo puede tomar valor diferente de cero en la posición que corresponde a la salida deseada en el tiempo $(t)$, los demás valores son cero. A partir de la expresión anterior, podemos comenzar entonces el ciclo de propagación hacia atrás a partir del final de la secuencia. En el tiempo final $\\tau$, ${\\bf{h}}^{(\\tau)}$ sólo tiene a ${\\bf{o}}^{(\\tau)}$ como descendiente, por lo tanto su gradiente es simple:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\nabla_{{\\bf{h}}^{(\\tau)}} L = {\\bf{W}}^T\\nabla_{{\\bf{o}}^{(\\tau)}}L$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A partir de este punto se puede comenzar a iterar hacia atrás para propagar los gradientes a través del tiempo, desde $t=\\tau-1$ hasta $t = 1$. Hay que tener en cuenta que ahora ${\\bf{h}}^{(t)}$ (para $t < \\tau$) tiene dos descendientes ${\\bf{o}}^{(t)}$ y ${\\bf{h}}^{(t+1)}$. Su gradiente está dado por:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\nabla_{{\\bf{h}}^{(t)}}L = \\left( \\frac{\\partial {\\bf{h}}^{(t+1)}}{\\partial {\\bf{h}}^{(t)}}\\right)^T(\\nabla_{{\\bf{h}}^{(t+1)}} L) + \\left(\\frac{\\partial {\\bf{o}}^{(t)}}{\\partial {\\bf{h}}^{(t)}}\\right)^T(\\nabla_{{\\bf{o}}^{(t)}}L)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\nabla_{{\\bf{h}}^{(t)}}L = {\\bf{V}}^T(\\nabla_{{\\bf{h}}^{(t+1)}} L)\\text{diag} \\left( 1 - \\left( {\\bf{h}}^{(t+1)} \\right)^2\\right) + {\\bf{W}}^T(\\nabla_{{\\bf{o}}^{(t)}}L)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una vez se obtienen los gradientes de los nodos internos, se pueden obtener los gradientes de los parámetros, teniendo en cuenta que estos se comparten a lo largo del tiempo:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\nabla_{\\bf{c}} L = \\sum_t \\left(\\frac{\\partial {\\bf{o}}^{t}}{\\partial {\\bf{c}}}\\right)^T \\nabla_{{\\bf{o}}^{(t)}}L$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\nabla_{\\bf{b}} L = \\sum_t \\left(\\frac{\\partial {\\bf{h}}^{t}}{\\partial {\\bf{b}}}\\right)^T \\nabla_{{\\bf{h}}^{(t)}}L = \\sum_t \\text{diag}\\left( 1 - \\left( {\\bf{h}}^{(t)} \\right)^2\\right)\\nabla_{{\\bf{h}}^{(t)}} L $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\nabla_{{\\bf W}}L = \\sum_t \\sum_i \\left( \\frac{\\partial L}{\\partial o_i^{(t)}} \\right)^T \\nabla_{{\\bf W}} o_i^{(t)} = \\sum_t (\\nabla_{{\\bf{o}}^{(t)}}L){\\bf{h}}^{(t)^T}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\nabla_{\\bf V}L = \\sum_t \\text{diag}\\left( 1 - \\left( {\\bf{h}}^{(t)} \\right)^2\\right)(\\nabla_{{\\bf{h}}^{(t)}} L){\\bf{h}}^{(t-1)^T}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\nabla_{\\bf U}L = \\sum_t \\text{diag}\\left( 1 - \\left( {\\bf{h}}^{(t)} \\right)^2\\right)(\\nabla_{{\\bf{h}}^{(t)}} L){\\bf{x}}^{(t)^T} $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una vez calculados los gradientes se puede proceder a actualizar los parámetros usando la regla del gradiente descendente o similar. Veamos un ejemplo de aplicación:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 100; Error: 0.25121219195;\n", "Epoch: 200; Error: 0.0754892838743;\n", "Epoch: 300; Error: 0.120768353064;\n", "Epoch: 400; Error: 0.0752163347489;\n", "Epoch: 500; Error: 0.0640042835346;\n", "The maximum number of train epochs is reached\n" ] }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# -*- coding: utf-8 -*-\n", "\"\"\" \n", "Example of use Elman recurrent network\n", "=====================================\n", "\n", "Task: Detect the amplitudes\n", "\n", "\"\"\"\n", "\n", "import neurolab as nl\n", "import numpy as np\n", "\n", "# Create train samples\n", "i1 = np.sin(np.arange(0, 20))\n", "i2 = np.sin(np.arange(0, 20)) * 2\n", "\n", "t1 = np.ones([1, 20])\n", "t2 = np.ones([1, 20]) * 2\n", "\n", "input = np.array([i1, i2, i1, i2]).reshape(20 * 4, 1)\n", "target = np.array([t1, t2, t1, t2]).reshape(20 * 4, 1)\n", "\n", "# Create network with 2 layers\n", "net = nl.net.newelm([[-2, 2]], [10, 1], [nl.trans.TanSig(), nl.trans.PureLin()])\n", "# Set initialized functions and init\n", "net.layers[0].initf = nl.init.InitRand([-0.1, 0.1], 'wb')\n", "net.layers[1].initf= nl.init.InitRand([-0.1, 0.1], 'wb')\n", "net.init()\n", "# Train network\n", "error = net.train(input, target, epochs=500, show=100, goal=0.01)\n", "# Simulate network\n", "output = net.sim(input)\n", "\n", "# Plot result\n", "import pylab as pl\n", "pl.subplot(211)\n", "pl.plot(error)\n", "pl.xlabel('Epoch number')\n", "pl.ylabel('Train error (default MSE)')\n", "\n", "pl.subplot(212)\n", "pl.plot(target.reshape(80))\n", "pl.plot(output.reshape(80))\n", "pl.legend(['train target', 'net output'])\n", "pl.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now using pytorch" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch [100/500], Loss: 0.2430\n", "Epoch [200/500], Loss: 0.2272\n", "Epoch [300/500], Loss: 0.0482\n", "Epoch [400/500], Loss: 0.0307\n", "Epoch [500/500], Loss: 0.0136\n" ] }, { "data": { "image/png": "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fM+xfpzKUByCqXpERERERN6/AK6Pj48j367SYKoeEREREVElCpyofMUhuAAuEREREZGHB04ymmQ9olTwPpW/HHlWrhEZ2bmubg4REREREZWlHLk+f6lZs2aWYCklJQUdOnSAr68We3F+U9mFBvjB1wcwmrR0vSB/g6ubREREREREZQmcZGFbcg5fXx+EBfohKSNHpevVDHd1i4iIiIiIqEyB08iRI219KpWxsp4ETsksEEFERERE5LmBU3Elyn/66Sekpqbi6quvRtOmTR3XskomQhWISFfBExEREREReWjgNH78eGRnZ+Pjjz9W97OystCjRw/s3LlTLY771FNPYdGiRWob2S/cXCCCi+ASEREREXlwVb2///5bjSrpfvjhBxw9ehT79+/HhQsXcPPNN+O1115zVjsrTUlyLoJLREREROTBgVNcXBxatWqVL5C66aabUL9+fVVpb9y4cdiyZYuz2llpSpKnZHLEiYiIiIjIYwMnKTtuXXJ87dq16N69u+V+lSpV1MgTlU2YOXDiiBMRERERkQcHTi1btsQff/yhbsu8JhmBuvLKKy2PS9pedHS0c1pZieY4MXAiIiIiIvLg4hBS/OHWW2/F/PnzVeA0aNAgNGzY0PL4ggUL0LVrV2e10+uFBXKOExERERGRx484XX/99So4atu2LR577DFVhtyaVNZ78MEH7frjK1aswJAhQxAbG6vmSc2dO7fE5//zzz/qeQUvCQkJ8JYRJ85xIiIiIiLy8HWc+vTpoy5Feemll+z+47L+U7t27TBq1CjccMMNNr9u7969iIiIsNyvWbMmPB1T9YiIiIiIvCBwkjlNtqhXr57Nf3zgwIHqYi8JlKQYhTfJG3Fi4ERERERE5LGBk/V8Jr26nqTJWW+T+7m5uXC29u3bIzMzE23atMHLL7+Mnj17FvtceZ5cdElJSXBHnONEREREROQFgZMERXXq1MFdd92l5iX5+dmV5ecQMTExmDp1Kjp37qyCoS+//BK9e/fGunXr0LFjxyJfM2nSJEycOBHujql6RERERETuy8dkvThTCaQAwzfffIOvv/4aFy9exB133IF77rlHlSl3SEN8fDBnzhwMHTrUrtf16tVLpQd+9913No841a1bF4mJifnmSbnasfNpuPztZQj088Xe1+xPXyQiIiIiIvtIbBAZGWlTbGBzVb1atWrh6aefxp49ezB79my12G23bt3UIrhffPEFjEYjXEFKoB84cKDYxwMDA9WXYH1xRxFBWqpeZo4RWTmu+S6JiIiIiKicgZO1yy67DNOmTcP+/ftVGfIxY8aoUShX2Lp1q0rh83ShgQbLbRaIICIiIiJyL2WaqLR69Wp89dVXmDVrFpo3b47JkyeXqcpdSkpKvtGiw4cPq0AoKipKpd9NmDABJ06cwLfffqse/+CDD1SRitatWyMjI0PNcVq6dCn+/vtveDo/gy9CAgxIy8pFSkYOokIDXN0kIiIiIiKyN3CKj49XAYzMcZI0veHDh2PVqlWqsl1Zbdy4EVdeeaXl/vjx49X1yJEjMX36dPU3rcugZ2Vl4fHHH1fBlIx0yWK8ixcvzvceniws0E8FTkkZXASXiIiIiMgji0P4+/ujdu3aKqi59tpr1f2iSDDjLRPAKlqfd//BwTOpmDm6O7o3qubq5hARERERebUkO2IDm0ecZH0mGf159dVX8dprr6ltBWOuilrHyVuFmQtEsCQ5EREREZF7sTlwkvlH5FwR5rWcUjKZqkdERERE5JGBU/369Z3bElJznARHnIiIiIiIPLAcuXWBBltI8QayX7h5xImBExERERGRBwZOXbp0wf33348NGzYU+xyZUCUL4UqVvV9++cWRbaw0wgI5x4mIiIiIyGNT9Xbt2oXXX38dV199NYKCgtCpUyfExsaq21KaXB7fuXMnOnbsiLfffhuDBg1yfsu9eMSJc5yIiIiIiDxwxKlatWp477331LpKn3zyCZo2bYqzZ89i//796nFZ02nTpk1Ys2YNg6ZyYKoeEREREZGHF4cQwcHBuOmmm9SFnDjixMCJiIiIiMjzRpyoYnCOExERERGRe2Lg5I6pepkMnIiIiIiI3AkDJzcSZpnjxOIQRERERETuhIGTG4mwVNXjiBMRERERkTth4OSmc5xMJpOrm0NERERERGUNnL755hvMnz/fcv+pp55ClSpVcOmll+Lo0aP2vh0VMccp12hCRrbR1c0hIiIiIqKyBk5vvPGGKksuZN2myZMnq0Vvq1evjscee8zetyMrIQEG+PpotznPiYiIiIjIQ9dxEseOHUOTJk3U7blz5+LGG2/E6NGj0bNnT/Tu3dsZbaw0fHx8EBboh6SMHFVZr6arG0RERERERGUbcQoLC8O5c+fU7b///htXX321uh0UFIT09HR7344KCA/iWk5ERERERB4/4iSB0r333osOHTpg3759GDRokNq+c+dONGjQwBltrJTznFIYOBERERERee6Ik8xp6tGjB86cOYNffvkF1apVU9s3bdqE2267zRltrFQkVU9wjhMRERERkQePOEkFvU8++aTQ9okTJzqqTZWaPuLEVD0iIiIiIg8ecVq4cCFWrlyZbwSqffv2uP3223HhwgVHt6/SCdPnOHERXCIiIiIizw2cnnzySSQlJanb27dvx+OPP67mOR0+fBjjx493Rhsr6YgTU/WIiIiIiDw2VU8CpFatWqnbMsfpmmuuUWs7bd682VIogsou3DzHicUhiIiIiIg8eMQpICAAaWlp6vbixYvRr18/dTsqKsoyEkVlxzlOREREREReMOJ02WWXqZQ8WfB2/fr1+Omnn9R2KU1ep04dZ7SxUlbVS+EcJyIiIiIizx1xkop6fn5+mD17NqZMmYLatWur7X/++ScGDBjgjDZWygVwkzjHiYiIiIjIc0ec6tWrh3nz5hXa/v777zuqTZVamL4ALkeciIiIiIg8N3ASubm5mDt3Lnbv3q3ut27dGtdeey0MBoOj21fpcI4TEREREZEXBE4HDhxQ1fNOnDiB5s2bq22TJk1C3bp1MX/+fDRu3NgZ7aw0wgO1VD1W1SMiIiIi8uA5To888ogKjo4dO6ZKkMslLi4ODRs2VI9R+XAdJyIiIiIiLxhxWr58OdauXavKj+uqVauGN998U1XaI8fMcUrNykWu0QSDr4+rm0REREREVOnZPeIUGBiI5OTkQttTUlLUGk/kmBEnwQIRREREREQeGjhdc801GD16NNatWweTyaQuMgI1ZswYVSCCyifQz4AAg/bPwsCJiIiIiMhDA6ePPvpIzXHq0aMHgoKC1EVS9Jo0aYIPPvjAOa2sZDjPiYiIiIjIw+c4ValSBb/99puqrqeXI2/ZsqUKnMhx85zOpWaxsh4RERERkaeOOOkkUBoyZIi6yO1t27bZPcdpxYoV6vWxsbHw8fFRa0OV5p9//kHHjh3VXCv5u9OnT4e34VpOREREREReEjgVJHOdZGFce6SmpqJdu3aYPHmyTc8/fPgwBg8ejCuvvBJbt27Fo48+invvvRd//fUXvElYoDlw4hwnIiIiIiLPTNVzpIEDB6qLraZOnarWi3r33XctKYIrV67E+++/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5kxVFW369OmqItro0aNNVapUyVdFhCpXxaItW7aoi/xv+d5776nbR48eVY+/+eabav/47bffTNu2bTNdd911poYNG5rS09Mt7zFgwABThw4dTOvWrTOtXLlSVUC67bbbXPipyJkeeOABU2RkpOmff/4xxcfHWy5paWmW54wZM8ZUr14909KlS00bN2409ejRQ110OTk5pjZt2pj69etn2rp1q2nhwoWmGjVqmCZMmOCiT0XO9Mwzz6iqi4cPH1bHEbkvlTf//vtv9Tj3F7KFdVU9wf2GrD3++OPqvCTHmVWrVpn69u1rql69uqr86g37CwMnF/r444/VzhMQEKDKk69du9bVTSIXWbZsmQqYCl5GjhxpKUn+wgsvmKKjo1XA3adPH9PevXvzvce5c+dUoBQWFqbKdt59990qICPvVNT+Ipevv/7a8hwJrB988EFVcjokJMR0/fXXq+DK2pEjR0wDBw40BQcHq5ObnPSys7Nd8InI2UaNGmWqX7++OufIDxE5juhBk+D+QmUJnLjfkLVhw4aZYmJi1HGmdu3a6v6BAwe8Zn/xkf+4etSLiIiIiIjInXGOExERERERUSkYOBEREREREZWCgRMREREREVEpGDgRERERERGVgoETERERERFRKRg4ERERERERlYKBExERERERUSkYOBEREdnBx8cHc+fOdXUziIiogjFwIiIij3HXXXepwKXgZcCAAa5uGhEReTk/VzeAiIjIHhIkff311/m2BQYGuqw9RERUOXDEiYiIPIoESbVq1cp3qVq1qnpMRp+mTJmCgQMHIjg4GI0aNcLs2bPzvX779u246qqr1OPVqlXD6NGjkZKSku85X331FVq3bq3+VkxMDB566KF8j589exbXX389QkJC0LRpU/z+++8V8MmJiMiVGDgREZFXeeGFF3DjjTfiv//+w/Dhw3Hrrbdi9+7d6rHU1FT0799fBVobNmzArFmzsHjx4nyBkQReY8eOVQGVBFkSFDVp0iTf35g4cSJuueUWbNu2DYMGDVJ/5/z58xX+WYmIqOL4mEwmUwX+PSIionLNcfr+++8RFBSUb/uzzz6rLjLiNGbMGBX86Lp3746OHTvi008/xRdffIGnn34ax44dQ2hoqHp8wYIFGDJkCE6ePIno6GjUrl0bd999N1577bUi2yB/4/nnn8err75qCcbCwsLw559/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BW873+Oaog6OZPAHrnre1a0gIrIt3UsqsclaPUWVJdcXvJV5TQUXIy+OBEqdR8FtSBU4KZ1OROSlmKrnzSQNT1I+xNopwLH1wLG12sm7tMpORETkOIHhecs+FBx1unA0b75mtwcqvm1ERGQTBk7eruNILfUjYRvw20PatrbDbF88kYiIHJeuV9Q8p/WfAyajthC1swoGERFRuTFw8nZSaU4vaXt2r3bNQgpERBWvibmanlTWk2UhRGYysPk77Xb3B13XNiIiKhUDp8qg25i82036skeTiMgVajQHIutqi6lK8CS2zgAyE7XFxOX4TEREbouBU2Ugk3WbDQR8DN6xkjsRkceWJTePOh1YBBiNwLopeR1cUlyBiIjcFqvqVRY3fw2kntUWVyUiItel68kSETLPqfFVectD6GsgERGR22L3VmXhH8ygiYjIHcqSGwKAC0eAv1/IK+Lj6ctDEBFVAgyciIiIKooESPXMZcllAW9Joe462tWtIiIiGzBwIiIickVZctFyCLMBiIg8BAMnIiKiiqQXiBAsQU5E5DFYHIKIiKgiVW8GXPGUdrtuV1e3hoiIbMTAiYiIqKLLkl/1nKtbQUREdmKqHhERERERUSkYOBEREREREbl74DR58mQ0aNAAQUFB6NatG9avX1/i8z/44AM0b94cwcHBqFu3Lh577DFkZGRUWHuJiIiIiKjycWng9NNPP2H8+PF46aWXsHnzZrRr1w79+/fH6dOni3z+jz/+iGeeeUY9f/fu3Zg2bZp6j2effbbC205ERERERJWHSwOn9957D/fddx/uvvtutGrVClOnTkVISAi++uqrIp+/evVq9OzZE7fffrsaperXrx9uu+22UkepiIiIiIiIPDJwysrKwqZNm9C3b9+8xvj6qvtr1qwp8jWXXnqpeo0eKB06dAgLFizAoEGDiv07mZmZSEpKynchIiIiIiLyiHLkZ8+eRW5uLqKjo/Ntl/t79uwp8jUy0iSvu+yyy2AymZCTk4MxY8aUmKo3adIkTJw4sdB2BlBERERERJVbkjkmkNjCq9Zx+ueff/DGG2/g008/VYUkDhw4gHHjxuHVV1/FCy+8UORrJkyYoOZR6U6cOKHSAqWwBBERERERUXJyMiIjI90zcKpevToMBgNOnTqVb7vcr1WrVpGvkeDozjvvxL333qvuX3LJJUhNTcXo0aPx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khKX8j+X9fctw8JSmYXft+2k7oYETZI6tnTpUvW9WpN9Wqo7WX/PUq5cTuL8nstOjg2ZmZn8fh2kT58+Kh1SejX1i/TaS1qIfpvfs+OlpKTg4MGD6sc+92XHkFTpgktCyDwRGdkTPPc5ztdff63mkcm8SB33Y8dIS0tT8/ytyeCCnPvccj+u8HIUpMycOVNVBJk+fbpp165dptGjR5uqVKliSkhIcHXTPLZC1pYtW9RFduv33ntP3T569Kh6/M0331Tf72+//Wbatm2b6brrrjM1bNjQlJ6e7uqme4wHHnjAFBkZafrnn39M8fHxlktaWprlOWPGjDHVq1fPtHTpUtPGjRtNPXr0UBeyzTPPPKOqFB4+fFjtp3Lfx8fH9Pfff6vH+f06h3VVPcHvufwef/xxdayQfXnVqlWmvn37mqpXr66qcQp+x+W3fv16k5+fn+n111837d+/3/TDDz+YQkJCTN9//73lOTz3lZ9UPZZ9VaoYFsT9uPxGjhxpql27tmnevHnqePHrr7+qY8VTTz3llvsxAycX+vjjj9X/cAEBAao8+dq1a13dJI+1bNkyFTAVvMj/kHo5yxdeeMEUHR2tAtY+ffqY9u7d6+pme5Sivl+5fP3115bnyEHswQcfVCW05QR+/fXXq+CKbCMlWevXr6+OCTVq1FD7qR40CX6/FRM48Xsuv2HDhpliYmLUviw/iuT+gQMHLI/zO3aMP/74w9SmTRt1XmvRooXp888/z/c4z33l99dff6lzXVHfG/fj8ktKSlLHX/k9HBQUZGrUqJHpueeeM2VmZrrlfuwj/6n4cS4iIiIiIiLPwTlOREREREREpWDgREREREREVAoGTkRERERERKVg4ERERERERFQKBk5ERERERESlYOBERERERERUCgZOREREREREpWDgREREREREVAoGTkRERERERKVg4ERERERERFQKBk5EREREREQo2f8Bb0iQt0SSTkkAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# --- Create input and target data ---\n", "\n", "# Input: sine wave and 2x sine wave, repeated\n", "i1 = np.sin(np.arange(0, 20))\n", "i2 = np.sin(np.arange(0, 20)) * 2\n", "input_sequence = np.concatenate([i1, i2, i1, i2]).reshape(-1, 1) # Shape: (80, 1)\n", "\n", "# Target: square wave, alternating between 1s and 2s\n", "t1 = np.ones(20)\n", "t2 = np.ones(20) * 2\n", "target_sequence = np.concatenate([t1, t2, t1, t2]).reshape(-1, 1) # Shape: (80, 1)\n", "\n", "# Convert to tensors and reshape for RNN: (seq_len, batch, input_size)\n", "inputs = torch.tensor(input_sequence, dtype=torch.float32).unsqueeze(1) # (80, 1, 1)\n", "targets = torch.tensor(target_sequence, dtype=torch.float32).unsqueeze(1) # (80, 1, 1)\n", "\n", "# Define Elman RNN model\n", "class SimpleRNN(nn.Module):\n", " def __init__(self, input_size, hidden_size, output_size):\n", " super(SimpleRNN, self).__init__()\n", " self.rnn = nn.RNN(input_size, hidden_size, nonlinearity='tanh')\n", " self.fc = nn.Linear(hidden_size, output_size)\n", "\n", " def forward(self, x):\n", " out, _ = self.rnn(x)\n", " out = self.fc(out)\n", " return out\n", "\n", "# Model, loss, optimizer\n", "model = SimpleRNN(input_size=1, hidden_size=10, output_size=1)\n", "criterion = nn.MSELoss()\n", "optimizer = optim.Adam(model.parameters(), lr=0.01)\n", "\n", "# Training loop\n", "num_epochs = 500\n", "losses = []\n", "\n", "for epoch in range(num_epochs):\n", " optimizer.zero_grad()\n", " outputs = model(inputs)\n", " loss = criterion(outputs, targets)\n", " loss.backward()\n", " optimizer.step()\n", "\n", " losses.append(loss.item())\n", " if (epoch+1) % 100 == 0:\n", " print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')\n", "\n", "# Detach for plotting\n", "predicted = outputs.detach().numpy()\n", "\n", "# Plotting\n", "plt.figure(figsize=(10, 6))\n", "\n", "plt.subplot(2, 1, 1)\n", "plt.plot(losses)\n", "plt.xlabel('Epoch')\n", "plt.ylabel('Training Loss (MSE)')\n", "\n", "plt.subplot(2, 1, 2)\n", "plt.plot(targets.reshape(-1).numpy(), label='Target')\n", "plt.plot(predicted.reshape(-1), label='Predicted')\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cuando las series a partir de las cuales se entrena la RNN son muy extensas en longitud, el entrenamiento de la red se puede hacer muy lento y además aumentar considerablemente los requerimientos en memoria, porque es necesario propagar toda la red en el tiempo, almacenar los resultados parciales de cada tiempo para posteriormente realizar la etapa Backward del algoritmo y comenzar con la siguiente época. Por esa razón, en el caso de RNN también se suele usar un procedimiento similar al entrenamiento mini-batch, en el que se propaga la red hacia adelante hasta un tiempo intermedio $(t)$, se realiza la etapa Backward, y por lo tanto la actualización de los parámetros de la red, y se continua la propagación hacia adelante a partir del tiempo $(t + 1)$. De esta manera se acelera la convergencia de la red y se disminuyen los requerimientos en memoria. A esta versión del algoritmo de entrenamiento se le conoce como Truncated BPTT." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Redes Neuronales Recurrentes Bidireccionales" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En algunos problemas la información necesaria para hacer la predicción en un punto de la secuencia, implica conocer información del pasado, pero también del futuro. Por ejemplo en problemas de reconocimiento de voz o traducción, es usual que se requiera conocer la información de la secuencia completa. Las Bidirectional RNN (BRNN) corresponden a una modificación de las RNN en las que se incluye una capa adicional que en lugar de transmitir la información del tiempo $(t)$ al tiempo $(t + 1)$, lo hace al contrario. Las dos capas ocultas en este caso no tiene interconexión entre ellas, pero si con la capa de salida." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/RNN_arc_3.png \"Neuronas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Este tipo de arquitecturas se emplean tanto en casos en los que para cada entrada se requiere producir una salida, como en casos en los que se desea producir una única salida para toda la secuencia." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Long Short Term Memory RNN (LSTM)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El principal problema de las RNN convencionales es su incapacidad para aprender dependencias de orden superior en los datos, es decir, que el modelo capture información que le permita determinar la influencia que tiene un dato visto por el modelo hace varios tiempos atrás con respecto a la salida del modelo en el tiempo actual. Incluso, que pueda capturar depdencias cortas y dependencias largas al mismo tiempo. Esto sucede debido a que si se analizan con detenimiento las funciones de actualización de los parámetros, la matriz $\\bf{V}$ que contiene los pesos de los lazos de realimentación se multiplica así misma $(\\tau-1)$ veces, lo que implica que si sus valores son inferiores a cero, terminan desvaneciendose y si son muy grandes, terminarán divergiendo. A este hecho se suma que la aplicación consecutiva de múltiples funciones de activación, terminan por desvaner el resultado." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/sigmoid_vanishing_gradient.png \"Neuronas\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Este problema ha sido estudiado ampliamente y se han propuesto múltiples alternativas desde finales de los años 80 y comienzos de los 90. De todas las arquitecturas propuestas, la de mayor éxito es una en la que se reemplazan los perceptrones por otro tipo de unidades básicas, llamadas celulas. Las redes neuronales recurrentes compuestas por dichas célculas se conocen con el nombre de Long-Short-Term-Memory Neural Networks (LSTM). Las LSTM fueron propuestas en 1997 y tienen la capacidad de aprender dependencias de tiempo corto, largo y así mismo de decir cuándo olvidar. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/LSTM2.jpeg \"LSTM\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exponential Weighted Average" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las LSTM usan como principio el promedio acumulado conocido como Exponential Weighted Moving Average (EWMA) y que originalmente fue propuesto para unas unidades conocidas como \"Leaky Units\". El EWMA tiene en cuenta más o menos información del pasado, de acuerdo con un parámetero. La regla de acumulación está dada por: $\\mu^{(t)} \\leftarrow \\beta \\mu^{(t-1)} + (1 - \\beta)\\upsilon^{(t)}$." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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vXubA3PLli0llGlosD3wwAMm9Gvg/eqrr8wJm26zdOlSM2YN9G6Yv3CnVdLhw4ebE42XLFni85ieG+T92taw9dJLL5mTJaOjoyXUjRw50ud1qWPQ16NW9/X16Tbaj6+fJOqCDU6cx9sdHwA4A+06FdB2B60wlV45QG83btxYnGzKlCnmxLZNmzZJ06ZNy32uBmV17NgxcRqtOLVp08Zsu86Ztrdo5dsN83nq1CnZsGGDvPjii66dP2XPTXnvQ70ufTK8tkDoai1OmVs74Ou86kmP3lX8282rjvHkyZPiRNpOp/tY+3Xphjm0/frrr+bTs4rem6E6j7c7PvizD9Xrst6r9mMAqgchvwJaYenatav88ssvPh9h6u2ePXuKE2mFUHfga9askY0bN5qPzity4MABc60VYafR5fe0gq3brnNZq1Ytn/nUA7H27DtxPpctW2baG3QlC7fOn9LXqIYD73nT/l7t07bnTa81eGjPsE1f3/p+tX/JcULA1/NJ9Bc37deuiM6r9quXbnFxijNnzpiefPt16fQ5LP0Jm+5vdCUeJ81jRccHf/ahev3HH3/4/MJm/9LaoUOHahwNEOaCfeavE3zxxRdmFY/ly5eb1R8mTJhgJSYm+qwc4CSTJk2y6tata23evNk6f/6855Kfn28eP3bsmDVv3jzrt99+s06cOGF9++23VlpamvXII49YTjB9+nQzNt327du3W3369LHq169vVolQEydOtFJTU62NGzeaMfbs2dNcnEZXedJxzJw50+d+p85fbm6u9fvvv5uL7poWLVpkfrZXl1mwYIF53+l4Dh48aFYtadGihXX16lXP39G/f3+rc+fO1u7du61t27ZZrVu3tkaNGmWF+viuX79uDRo0yGratKl14MABn/elvRrJjh07zIos+vjx48etFStWWA0aNLDGjBljhYryxqiPvfHGG2YFFn1dbtiwwerSpYuZo4KCAkfMoT+vU5WTk2PFxcWZFWVKC/V5rOj44M8+tKioyOrYsaPVt29fM85169aZMc6aNStIowLCEyHfTx999JHZqUVFRZklNXft2mU5lR6YyrosW7bMPJ6RkWECYVJSkvnlplWrVtaMGTPMgcsJRowYYTVp0sTM1b333mtua/C1aSh8+eWXrXr16pkD8eDBg81BzGl+/vlnM2/p6ek+9zt1/jZt2lTm61KXXbSX0Zw9e7bVqFEjM67evXvfMvasrCwTCOvUqWOW63v++edNKAv18Wnovd37Uv+c2rdvn9WjRw8TwGJiYqz27dtb7733nk9ADuUxakjU0KdhT5dg1GUkx48ff0uxJJTn0J/Xqfr000+t2NhYs9xkaaE+jxUdH/zdh548edIaMGCA+f+gRRYtvhQWFgZhRED4itD/BPvTBAAAAACBQ08+AAAA4DKEfAAAAMBlCPkAAACAyxDyAQAAAJch5AMAAAAuQ8gHAAAAXIaQDwAAALgMIR8AAABwGUI+AAAA4DKEfAAAAMBlCPkAAACAyxDyAQAAAHGX/wLq7rang5IqFQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt \n", "# make a hat function, and add noise\n", "x = np.linspace(0,1,100)\n", "x = np.hstack((x,x[::-1]))\n", "x += np.random.normal( loc=0, scale=0.1, size=200 )\n", "plt.plot( x, 'k', alpha=0.5, label='Raw' )\n", " \n", "Beta1 = 0.8\n", "Beta2 = 0.5\n", "x1 = np.zeros(200)\n", "x2 = np.copy(x1)\n", "for i in range(1,200):\n", " x1[i] = Beta1*x1[i-1] + (1-Beta1)*x[i]\n", " x2[i] = Beta2*x2[i-1] + (1-Beta2)*x[i]\n", "# regular EWMA, with bias against trend\n", "plt.plot( x1, 'b', label='EWMA, Beta = 0.8' )\n", " \n", "# \"corrected\" (?) EWMA\n", "plt.plot( x2, 'r', label='EWMA, Beta = 0.5' )\n", " \n", "plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n", "plt.show()\n", "#savefig( 'ewma_correction.png', fmt='png', dpi=100 )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como se puede observar en la gráfica anterior, el parámetro $\\beta$ controla si la salida del promedio toma más en cuenta el dato actual (línea roja), o el histórico (línea azul). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las LSTM usan el mismo principio para controlar el nivel de memoria o de dependencia en el tiempo, pero en lugar de usar un parámetro constante, definen compuertas que son entrenadas como parte del algoritmo de entrenamiento y que deciden cuándo mantener y cuándo olvidar la información precedente. Una celula LSTM contiene tres compuertas, que se representan en la gráfica por la letra $\\sigma$, las cuales representan funciones sigmoide que garantizan que dichos valores están en el intervalo $(0,1)$. Adicionalmente, una célula LSTM define una variable adicional llamada estado. Las tres compuertas le permiten a la célula olvidar su estado o no, escribir o no, y leer o no." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](Local/imgs/LSTM2.png \"LSTM\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Usando la notación de la gráfica anterior, para el tiempo $t$ y la célula $l$, la célula estará descrita por las siguientes funciones:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$f_l^{(t)} = \\sigma \\left( b_l^f + \\sum_j U_{l,j}^f x_j^{(t)} + \\sum_j V_{l,j}^f h_j^{(t-1)}\\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ c_l^{(t)} = f_l^{(t)}c_l^{(t-1)} + i_l^{(t)}\\tanh \\left( b_l^c + \\sum_j U_{l,j}^c x_j^{(t)} + \\sum_j V_{l,j}^c h_j^{(t-1)} \\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$i_l^{(t)} = \\sigma \\left( b_l^i + \\sum_j U_{l,j}^i x_j^{(t)} + \\sum_j V_{l,j}^i h_j^{(t-1)}\\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$h_l^{(t)} = \\tanh(c_l^{(t)})o_l^{(t)}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$o_l^{(t)} = \\sigma \\left( b_l^o + \\sum_j U_{l,j}^o x_j^{(t)} + \\sum_j V_{l,j}^o h_j^{(t-1)}\\right)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "donde $c_l^{(t)}$ es el estado de la célula en el tiempo $t$, por lo tanto la compuerta $f_l^{(t)}$ controla cuánto debe recordar la célula de su estado anterior $c_l^{(t-1)}$. Por otro lado, $i_l^{(t)}$ es una compuerta que controla cuánta influencia tendrá la información actual (entrada $x^{(t)}$ y salida anterior $h^{(t-1)}$) en el estado actual de la célula. La compuerta $o_l^{(t)}$ por su parte controla el nivel de activación de la salida." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El conjunto completo de parámetros que deben ser ajustados es entonces ${\\bf{V}}^f, {\\bf{U}}^f, {\\bf{b}}^f, {\\bf{V}}^c, {\\bf{U}}^c, {\\bf{b}}^c, {\\bf{V}}^i, {\\bf{U}}^i, {\\bf{b}}^i, {\\bf{V}}^o, {\\bf{U}}^o, {\\bf{b}}^o$. Al igual que con las RNN, también se pueden construir arquitecturas bidireccionales usando LSTMs. Pueden consultar el siguiente turorial: https://machinelearningmastery.com/develop-bidirectional-lstm-sequence-classification-python-keras/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ejemplo (tomade: https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/)" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas\n", "import matplotlib.pyplot as plt\n", "from sklearn.preprocessing import MinMaxScaler\n", "import math\n", "from sklearn.metrics import mean_squared_error\n", "dataset = pandas.read_csv('local/data/international-airline-passengers.csv', usecols=[1], engine='python', skipfooter=3)\n", "plt.plot(dataset)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "96 48\n" ] } ], "source": [ "dataset = dataset.values\n", "dataset = dataset.astype('float32')\n", "# normalize the dataset\n", "scaler = MinMaxScaler(feature_range=(0, 1))\n", "dataset = scaler.fit_transform(dataset)\n", "# split into train and test sets\n", "train_size = int(len(dataset) * 0.67)\n", "test_size = len(dataset) - train_size\n", "train, test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]\n", "print(len(train), len(test))" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "# convert an array of values into a dataset matrix\n", "def create_dataset(dataset, look_back=1):\n", "\tdataX, dataY = [], []\n", "\tfor i in range(len(dataset)-look_back-1):\n", "\t\ta = dataset[i:(i+look_back), 0]\n", "\t\tdataX.append(a)\n", "\t\tdataY.append(dataset[i + look_back, 0])\n", "\treturn np.array(dataX), np.array(dataY).T" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [], "source": [ "# reshape into X=t and Y=t+1\n", "look_back = 1\n", "trainX, trainY = create_dataset(train, look_back)\n", "testX, testY = create_dataset(test, look_back)\n", "\n", "# reshape input to be [samples, time steps, features]\n", "trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))\n", "testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))\n" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch [10/100], Loss: 0.0234\n", "Epoch [20/100], Loss: 0.0193\n", "Epoch [30/100], Loss: 0.0186\n", "Epoch [40/100], Loss: 0.0175\n", "Epoch [50/100], Loss: 0.0162\n", "Epoch [60/100], Loss: 0.0132\n", "Epoch [70/100], Loss: 0.0083\n", "Epoch [80/100], Loss: 0.0035\n", "Epoch [90/100], Loss: 0.0019\n", "Epoch [100/100], Loss: 0.0022\n" ] } ], "source": [ "# create and fit the LSTM network\n", "class LSTM_net(nn.Module):\n", " def __init__(self, input_size, hidden_size, output_size):\n", " self.hidden_size= hidden_size\n", " super(LSTM_net, self).__init__()\n", " self.rnn = nn.LSTM(input_size, hidden_size, batch_first=True)\n", " self.fc = nn.Linear(hidden_size, output_size)\n", "\n", " def forward(self, x):\n", " _, (out,_)= self.rnn(x)\n", " out = out.view(x.shape[0], self.hidden_size)\n", " out = self.fc(out)\n", " return out\n", "\n", "# Model, loss, optimizer\n", "model = LSTM_net(input_size=1, hidden_size=4, output_size=1)\n", "criterion = nn.MSELoss()\n", "optimizer = optim.Adam(model.parameters(), lr=0.01)\n", "\n", "# Training loop\n", "num_epochs = 100\n", "losses = []\n", "\n", "# Convert to tensors and reshape for RNN: (batch, seq_len, input_size)\n", "trainX = torch.tensor(trainX, dtype=torch.float32)\n", "trainY = torch.tensor(trainY, dtype=torch.float32)\n", "trainY = trainY.unsqueeze(1)\n", "\n", "for epoch in range(num_epochs):\n", " optimizer.zero_grad()\n", " outputs = model(trainX)\n", " loss = criterion(outputs, trainY)\n", " loss.backward()\n", " optimizer.step()\n", "\n", " losses.append(loss.item())\n", " if (epoch+1) % 10 == 0:\n", " print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "# Convert to tensors and reshape for RNN: (batch, seq_len, input_size)\n", "testX = torch.tensor(testX, dtype=torch.float32)\n", "testY = torch.tensor(testY, dtype=torch.float32)\n", "testY = testY.unsqueeze(1)" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train Score: 24.08 RMSE\n", "Test Score: 47.46 RMSE\n" ] } ], "source": [ "# make predictions\n", "trainPredict = model(trainX)\n", "testPredict = model(testX)\n", "# invert predictions\n", "trainPredict = scaler.inverse_transform(trainPredict.detach().numpy())\n", "trainY = scaler.inverse_transform(trainY)\n", "testPredict = scaler.inverse_transform(testPredict.detach().numpy())\n", "testY = scaler.inverse_transform(testY)\n", "# calculate root mean squared error\n", "trainScore = math.sqrt(mean_squared_error(trainY, trainPredict))\n", "print('Train Score: %.2f RMSE' % (trainScore))\n", "testScore = math.sqrt(mean_squared_error(testY, testPredict))\n", "print('Test Score: %.2f RMSE' % (testScore))" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [], "source": [ "dataset = scaler.inverse_transform(dataset)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "trainPredictPlot = np.empty_like(dataset, dtype=float)\n", "trainPredictPlot[:, :] = np.nan\n", "trainPredictPlot[look_back:len(trainPredict)+look_back, :] = trainPredict\n", "# shift test predictions for plotting\n", "testPredictPlot = np.empty_like(dataset, dtype=float)\n", "testPredictPlot[:, :] = np.nan\n", "testPredictPlot[len(trainPredict)+(look_back*2)+1:len(dataset)-1, :] = testPredict\n", "# plot baseline and predictions\n", "plt.plot(dataset)\n", "plt.plot(trainPredictPlot)\n", "plt.plot(testPredictPlot)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bibliografía" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[1] Googfellow, I.; Bengio, Y.; Courville, A. \"Deep Learning\", The MIT Press, Cambridge, MA, USA, 2016. " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.12" } }, "nbformat": 4, "nbformat_minor": 4 }